<%-- 
    Document   : gerenciarEvento
    Created on : 18/09/2014, 19:36:28
    Author     : luiz
--%>

<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.util.ArrayList"%>
<%@page import="dao.OrcamentoDAO"%>
<%@page import="entidade.Orcamento"%>
<%@page import="entidade.Fornecedor"%>
<%@page import="dao.FornecedorDAO"%>
<%@page import="dao.UsuarioDAO"%>
<%@page import="entidade.Evento"%>
<%@page import="dao.EventoDAO"%>
<%@page import="util.Util"%>
<%@page import="java.util.List"%>
<%@page import="dao.UsuarioEventoDAO"%>
<%@page import="entidade.UsuarioEvento"%>
<%@page import="entidade.Usuario"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Listar Eventos</title>
        <link rel="stylesheet" type="text/css" href="css/style.css">
        <link rel="stylesheet" type="text/css" href="css/foundation/foundation.min.css">
        <link rel="stylesheet" type="text/css" href="css/foundation/normalize.css">
        <script src="js/prefixfree-1.0.7.js"></script>
        <script src="js/jquery-1.11.1.min.js"></script>
        <script src="js/jquery-1.7.1.min.js" ></script>
        <script src="js/foundation.min.js"></script>
        <script src="js/script.js"></script>
        <%
            Util util = new Util();
            UsuarioDAO usuarioDAO = new UsuarioDAO();
            Long codigoEvento = 0L;
            EventoDAO eventoDAO = new EventoDAO();
            Evento evento = new Evento();
            UsuarioEventoDAO usuarioEventoDAO = new UsuarioEventoDAO();
            List<UsuarioEvento> listUsuarioEventos = new ArrayList<UsuarioEvento>();
            FornecedorDAO fornecedorDAO = new FornecedorDAO();
            boolean passou = true;
            try
            {
                codigoEvento = Long.parseLong(util.validaParametro(request.getParameter("evento")));
            }
            catch (NumberFormatException e)
            {
                System.out.print("Erro ao pegar parametro");
            }
            if (eventoDAO.buscaID(Evento.class, codigoEvento) != null)
            {
                evento = eventoDAO.buscaID(Evento.class, codigoEvento);
                System.out.print("Evento encontrado");
            }
            else
            {
                System.out.print("Evento iqual a null");
                response.sendRedirect("listarEventos.jsp");
            }
            Long pedido = 0L;
            System.out.printf("11");
            try
            {
                String adcPedidoId = util.validaParametro(request.getParameter("fornecedor"));
                pedido = Long.parseLong(adcPedidoId);
                System.out.printf("22");
            }
            catch (Exception e)
            {
                pedido = 0L;
                passou = false;
            }
            System.out.printf("33");
            if (passou)
            {
                System.out.printf("44");
                Orcamento orcamento = new Orcamento();
                OrcamentoDAO orcamentoDAO = new OrcamentoDAO();
                orcamento = orcamentoDAO.buscarOrcamentoEvento(evento);
                System.out.printf("55");
                if (orcamento.getEvento() == null)
                {
                    orcamento.setEvento(evento);
                    System.out.printf("66");
                }
                fornecedorDAO = new FornecedorDAO();
                Fornecedor adcNovoFornecedor = new Fornecedor();
                try
                {
                    System.out.printf("77");
                    adcNovoFornecedor = fornecedorDAO.buscaID(Fornecedor.class, pedido);
                    System.out.print(adcNovoFornecedor.getNome());
                }
                catch (Exception e)
                {
                    System.out.printf("88");
                    passou = false;
                }
                if (passou)
                {
                    System.out.printf("99");
                    List<Fornecedor> Listafornecedor = new ArrayList<Fornecedor>();
                    System.out.printf("110");
                    Listafornecedor = orcamento.getCotacao();
                    if (Listafornecedor == null)
                    {
                        Listafornecedor = new ArrayList<Fornecedor>();
                    }
                    boolean existe = false;
                    for (Fornecedor f : Listafornecedor)
                    {
                        if (f.getId().equals(adcNovoFornecedor.getId()))
                        {
                            existe = true;
                            System.out.printf("existe");
                        }
                    }
                    if (!existe)
                    {
                        System.out.printf("111");
                        Listafornecedor.add(adcNovoFornecedor);
                        System.out.printf("112");
                        orcamento.setCotacao(Listafornecedor);
                        System.out.printf("113");
                        orcamentoDAO.salvar(orcamento);
                    }
                }
            }
            Usuario u = (Usuario) session.getAttribute("user");
            listUsuarioEventos = usuarioEventoDAO.buscarEvento(evento);
            Boolean gerencia = false;
            if (listUsuarioEventos.isEmpty())
            {
                System.out.print("lista vazia");
            }
            for (UsuarioEvento list : listUsuarioEventos)
            {
                if (list.getUsuario().getId().equals(u.getId()) && list.isGerenciador() && list.getEvento().getId().equals(evento.getId()))
                {
                    System.out.print("Usuario administrador do evento validado");
                    gerencia = true;
                }
            }
            if (!gerencia)
            {
                System.out.print("Usuario administrador do evento não validado");
                response.sendRedirect("listarEventos.jsp");
            }
            session.setAttribute("evento", evento);

        %>
    </head>
    <body class="fundo">
        <div class="menu_interno">
            <div class="menu_interno_logo">
                <img src="imagens/logo.png">
            </div>
            <div class="menu_interno_list">
                <div id="accordian">
                    <ul class="ul">
                        <li>
                            <h3><span class="icon-dashboard"></span><a href="../CadastroUsuario.jsp">Cadastrar Usuário</a></h3>
                        </li>
                        <li>
                            <h3><span class="icon-dashboard"></span><a href="listarEventos.jsp">Listar Eventos</a></h3>
                        </li>
                        <li>
                            <h3><span class="icon-dashboard"></span><a href="financeiro.jsp">Financeiro</a></h3>
                        </li>

                    </ul>
                </div>

            </div>
            <div class="menu_interno_rodape">
                <a href="principal.jsp"><img src="imagens/back.png"></a>
            </div>
        </div>
        <div id="container" class="content">
            <div class="margintop_content">                
                <h4><%=evento.getNome()%></h4>
                <form method="post" action="../FecharEventoServlet">
                    <input type="hidden" name="evento" value="<%=evento.getId()%>"/>
                    <fieldset>
                        <legend>Detalhes</legend>
                        <table>
                            <thead>
                                <tr>
                                    <th>Descrição</th>
                                    <th>Data</th>
                                </tr>
                            </thead>
                            <tbody>

                                <tr> 
                                    <td><%=evento.getDescricao()%></td>
                                    <td><%
                                    try{
                                    out.print(new SimpleDateFormat("dd/MM/yyyy").format(evento.getDataEvento()));
                                    }catch(Exception e){}
                                    
                                    %></td>
                                </tr>
                            </tbody>
                        </table>
                        <%if (!evento.isFechado())
                            {
                        %>
                        <div style="float:left;">
                            <button type="submit">Fechar Evento</button>
                        </div>
                        <%}%>
                    </fieldset>                    
                </form>                
                <form>
                    <fieldset>
                        <legend>Fornecedores</legend>
                        <table>
                            <thead>
                                <tr>
                                    <th>Fornecedor</th>
                                    <th>Descrição</th>
                                    <th>Valor</th>
                                </tr>
                            </thead>
                            <tbody>
                                <%
                                    double valorFornecedores = 0.0;
                                    List<Fornecedor> listaFornecedores = new FornecedorDAO().buscarFornecedorEvento(evento);
                                    for (Fornecedor fornecedor : listaFornecedores)
                                    {
                                        valorFornecedores += fornecedor.getValor();
                                %>
                                <tr> 
                                    <td><%=fornecedor.getNome()%></td>
                                    <td><%=fornecedor.getObservacao()%></td>
                                    <td>R$<%=fornecedor.getValor()%></td>
                                </tr>
                                <%}%>
                            </tbody>
                        </table>
                        <h5 style="float: right">Valor total: <%=valorFornecedores%></h5>
                        <%if (!evento.isFechado())
                            {
                        %>                        
                        <b><a href="cadastroFornecedor.jsp">Adicionar Fornecedor</a></b>
                        <%}%>
                    </fieldset>
                </form>                                
                <fieldset>
                    <legend>Participantes</legend>
                    <table>
                        <thead>
                            <tr>
                                <th>Nome</th>
                                <th>Email</th>
                                <th>Celular</th>
                            </tr>
                        </thead>
                        <tbody>
                            <%for (UsuarioEvento usuarioEvento : listUsuarioEventos)
                                {%>
                            <tr> 
                                <td><%=usuarioEvento.getUsuario().getNome()%></td>
                                <td><%=usuarioEvento.getUsuario().getEmail()%></td>
                                <td><%=usuarioEvento.getUsuario().getCelular()%></td>
                            </tr>
                            <%}%>
                        </tbody>
                    </table>
                    <h5 style="float: right">Número Participantes: <%=listUsuarioEventos.size()%></h5>
                    <% if (!evento.isFechado())
                        {%>
                    <fieldset>
                        <legend>Adicionar Participante</legend>
                        <form method="post" action="../AdicionarUsuarioEventoServlet">
                            </br>
                            <input type="hidden" name="evento" value="<%=evento.getId()%>"/>
                            <select name="usuarioAdicionar">
                                <option value="0">Selecione o Usuario</option>
                                <%for (Usuario user : usuarioDAO.buscar(Usuario.class))
                                    {
                                        Boolean verifica = true;
                                        for (UsuarioEvento sistema : listUsuarioEventos)
                                        {
                                            if (user.getId().equals(sistema.getUsuario().getId()))
                                            {
                                                verifica = false;
                                            }
                                        }
                                        if (verifica)
                                        {
                                %>
                                <option value="<%=user.getId()%>"><%=user.getNome()%></option>
                                <%}
                                    }
                                %>
                            </select>
                            <button type="submit">Adicionar</button>
                        </form>
                        <%}%>
                    </fieldset>
                </fieldset>
                <br/>
                <form action="../AdicionarAvisosServlet" method="post">
                    <fieldset>
                        <legend>Adicionar Avisos</legend>
                        <label for="descricaoAviso">Descrição</label>
                        <input type="text" id="descricaoAviso" name="descricaoAviso"/>
                        <div style="float:left;">
                            <button type="submit">Gravar</button>
                        </div>
                    </fieldset>                    
                </form>
            </div>
        </div>
        <div class="lateral_esq">
            <img src="imagens/capa3.png">
        </div>

    </body>





</html>
